package chaoyue.study.basic;

import java.util.Scanner;

/**
 * switch是用来替换多重的if-else的
 * 使用跳转表来进行优化，防止一个一个条件顺序去比较，提升效率
 */
public class SwitchTest {

    public static void main(String[] args) {
        while (true) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入星期（输入q退出）：");
            String i = scanner.next();
            if (i.equals("q")) {
                break;
            }
            testSwitch(Integer.parseInt(i));
        }
    }

    /**
     * switch中如果没有碰到break语句是会一直执行下去的（从命中开始，一直执行到遇到break）
     * case的作用只是判断要不要进入case里面的语句
     * default用来兜底，相当于一个case true
     */
    private static void testSwitch(int i) {
        switch (i) {
            case 1:
                System.out.println("痛苦星期一");
            case 2:
                System.out.println("痛苦星期二");
            case 3:
                System.out.println("痛苦星期三");
            case 4:
                System.out.println("疯狂星期四");
            case 5:
                System.out.println("科学星期五");
                break;
            case 6, 7: // 多个条件可以使用逗号合并
                System.out.println("快乐周末！");
                break;
            default:
                System.out.println("你不对劲！");
        }
    }
}
